package com.betterjr.modules.contract.entity;

import com.betterjr.common.annotation.*;
import com.betterjr.common.entity.BetterjrEntity;
import javax.persistence.*;

@Access(AccessType.FIELD)
@Entity
@Table(name = "t_scf_contract_business_standard")
public class ContractBusinessStandard implements BetterjrEntity {
    /**
     * 编号
     */
    @Id
    @Column(name = "ID",  columnDefinition="INTEGER" )
    @MetaData( value="编号", comments = "编号")
    private Long id;

    /**
     * 合同业务类型编号
     */
    @Column(name = "L_BUSINESS_TYPE_ID",  columnDefinition="INTEGER" )
    @MetaData( value="合同业务类型编号", comments = "合同业务类型编号")
    private Long BusinessTypeId;

    /**
     * 合同业务类型名称
     */
    @Column(name = "C_BUSINESS_TYPE_NAME",  columnDefinition="VARCHAR" )
    @MetaData( value="合同业务类型名称", comments = "合同业务类型名称")
    private String BusinessTypeName;

    /**
     * 标准合同类型编号
     */
    @Column(name = "L_STANDARD_TYPE_ID",  columnDefinition="INTEGER" )
    @MetaData( value="标准合同类型编号", comments = "标准合同类型编号")
    private Long StandardTypeId;

    /**
     * 标准合同类型名称
     */
    @Column(name = "C_STANDARD_TYPE_NAME",  columnDefinition="VARCHAR" )
    @MetaData( value="标准合同类型名称", comments = "标准合同类型名称")
    private String StandardTypeName;

    /**
     * 状态
     */
    @Column(name = "C_BUSIN_STATUS",  columnDefinition="CHAR" )
    @MetaData( value="状态", comments = "状态")
    private String businStatus;

    /**
     * 登记日期
     */
    @Column(name = "D_REG_DATE",  columnDefinition="VARCHAR" )
    @MetaData( value="登记日期", comments = "登记日期")
    private String regDate;

    /**
     * 登记时间
     */
    @Column(name = "T_REG_TIME",  columnDefinition="VARCHAR" )
    @MetaData( value="登记时间", comments = "登记时间")
    private String regTime;

    private static final long serialVersionUID = -8909148151891609491L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getBusinessTypeId() {
        return BusinessTypeId;
    }

    public void setBusinessTypeId(Long BusinessTypeId) {
        this.BusinessTypeId = BusinessTypeId;
    }

    public String getBusinessTypeName() {
        return BusinessTypeName;
    }

    public void setBusinessTypeName(String BusinessTypeName) {
        this.BusinessTypeName = BusinessTypeName == null ? null : BusinessTypeName.trim();
    }

    public Long getStandardTypeId() {
        return StandardTypeId;
    }

    public void setStandardTypeId(Long StandardTypeId) {
        this.StandardTypeId = StandardTypeId;
    }

    public String getStandardTypeName() {
        return StandardTypeName;
    }

    public void setStandardTypeName(String StandardTypeName) {
        this.StandardTypeName = StandardTypeName == null ? null : StandardTypeName.trim();
    }

    public String getBusinStatus() {
        return businStatus;
    }

    public void setBusinStatus(String businStatus) {
        this.businStatus = businStatus == null ? null : businStatus.trim();
    }

    public String getRegDate() {
        return regDate;
    }

    public void setRegDate(String regDate) {
        this.regDate = regDate == null ? null : regDate.trim();
    }

    public String getRegTime() {
        return regTime;
    }

    public void setRegTime(String regTime) {
        this.regTime = regTime == null ? null : regTime.trim();
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", BusinessTypeId=").append(BusinessTypeId);
        sb.append(", BusinessTypeName=").append(BusinessTypeName);
        sb.append(", StandardTypeId=").append(StandardTypeId);
        sb.append(", StandardTypeName=").append(StandardTypeName);
        sb.append(", businStatus=").append(businStatus);
        sb.append(", regDate=").append(regDate);
        sb.append(", regTime=").append(regTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ContractBusinessStandard other = (ContractBusinessStandard) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getBusinessTypeId() == null ? other.getBusinessTypeId() == null : this.getBusinessTypeId().equals(other.getBusinessTypeId()))
            && (this.getBusinessTypeName() == null ? other.getBusinessTypeName() == null : this.getBusinessTypeName().equals(other.getBusinessTypeName()))
            && (this.getStandardTypeId() == null ? other.getStandardTypeId() == null : this.getStandardTypeId().equals(other.getStandardTypeId()))
            && (this.getStandardTypeName() == null ? other.getStandardTypeName() == null : this.getStandardTypeName().equals(other.getStandardTypeName()))
            && (this.getBusinStatus() == null ? other.getBusinStatus() == null : this.getBusinStatus().equals(other.getBusinStatus()))
            && (this.getRegDate() == null ? other.getRegDate() == null : this.getRegDate().equals(other.getRegDate()))
            && (this.getRegTime() == null ? other.getRegTime() == null : this.getRegTime().equals(other.getRegTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getBusinessTypeId() == null) ? 0 : getBusinessTypeId().hashCode());
        result = prime * result + ((getBusinessTypeName() == null) ? 0 : getBusinessTypeName().hashCode());
        result = prime * result + ((getStandardTypeId() == null) ? 0 : getStandardTypeId().hashCode());
        result = prime * result + ((getStandardTypeName() == null) ? 0 : getStandardTypeName().hashCode());
        result = prime * result + ((getBusinStatus() == null) ? 0 : getBusinStatus().hashCode());
        result = prime * result + ((getRegDate() == null) ? 0 : getRegDate().hashCode());
        result = prime * result + ((getRegTime() == null) ? 0 : getRegTime().hashCode());
        return result;
    }
}